/*-------------------------------------------------------------------------
 *
 * value.c
 *	  值节点的实现
 *
 *
 * Copyright (c) 2003-2022, PostgreSQL Global Development Group
 *
 *
 * IDENTIFICATION
 *	  src/backend/nodes/value.c
 *
 *-------------------------------------------------------------------------
 */
#include "postgres.h"

#include "nodes/value.h"

/*
 *	makeInteger
 */
Integer *
makeInteger(int fc_i)
{
	Integer    *fc_v = makeNode(Integer);

	fc_v->ival = fc_i;
	return fc_v;
}

/*
 *	makeFloat
 *
 * 调用者负责传递一个 palloc 的字符串。
 */
Float *
makeFloat(char *fc_numericStr)
{
	Float	   *fc_v = makeNode(Float);

	fc_v->fval = fc_numericStr;
	return fc_v;
}

/*
 *	makeBoolean
 */
Boolean *
makeBoolean(bool fc_val)
{
	Boolean    *fc_v = makeNode(Boolean);

	fc_v->boolval = fc_val;
	return fc_v;
}

/*
 *	makeString
 *
 * 调用者负责传递一个 palloc 的字符串。
 */
String *
makeString(char *fc_str)
{
	String	   *fc_v = makeNode(String);

	fc_v->sval = fc_str;
	return fc_v;
}

/*
 *	makeBitString
 *
 * 调用者负责传递一个 palloc 的字符串。
 */
BitString *
makeBitString(char *fc_str)
{
	BitString  *fc_v = makeNode(BitString);

	fc_v->bsval = fc_str;
	return fc_v;
}
